사이트 내 전체검색
[javascript] 주민번호 체크 스크립트
로빈아빠
https://cmd.kr/javascript/560 URL이 복사되었습니다.

본문

<script language="javascript">
function chkresno(resno) {

  // 주민번호의 형태와 7번째 자리(성별) 유효성 검사
  fmt = /^\d{6}-[1234]\d{6}$/;
  if (!fmt.test(resno)) {
    alert("잘못된 주민등록번호입니다."); return;
  }

  // 날짜 유효성 검사
  birthYear = (resno.charAt(7) <= "2") ? "19" : "20";
  birthYear += resno.substr(0, 2);
  birthMonth = resno.substr(2, 2) - 1;
  birthDate = resno.substr(4, 2);
  birth = new Date(birthYear, birthMonth, birthDate);

  if ( birth.getYear() % 100 != resno.substr(0, 2) ||
       birth.getMonth() != birthMonth ||
       birth.getDate() != birthDate) {
    alert("잘못된 주민등록번호입니다."); return;
  }

  // Check Sum 코드의 유효성 검사
  buf = new Array(13);
  for (i = 0; i < 6; i++) buf[i] = parseInt(resno.charAt(i));
  for (i = 6; i < 13; i++) buf[i] = parseInt(resno.charAt(i + 1));

  multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
  for (i = 0, sum = 0; i < 12; i++) sum += (buf[i] *= multipliers[i]);

  if ((11 - (sum % 11)) % 10 != buf[12]) {
    alert("잘못된 주민등록번호입니다."); return;
  }

  alert("정상적인 주민등록번호입니다.");
}
</script>
</head>
<body>
<h1>주민등록번호 검사</h1>
<form onSubmit="chkresno(this.resno.value);return false">
주민등록번호 <input type="text" name="resno">
<input type="submit" value="지금 검사">
</form>

댓글목록

등록된 댓글이 없습니다.

831 (8/17P)

Search

Copyright © Cmd 명령어 18.191.68.50